using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace XGame
{
    public class Main : MonoBehaviour
    {
        // Start is called before the first frame update
        void Start()
        {
            // 1. 尝试查找 Global 对象
            GameObject global = GameObject.Find("Global");

            // 如果 Global 对象不存在，才创建它
            if (global == null)
            {
                global = new GameObject("Global");
            }

            UnityMainThreadDispatcher.Instance().Enqueue(() => { Debug.Log("Main.Start"); });

            // 2. 将 Init.cs 脚本挂载到 Global 对象上
            if (global.GetComponent<XGame.Init>() == null)
            {
                global.AddComponent<XGame.Init>();
            }

            // 2. 获取当前的 Main Camera
            Camera mainCamera = Camera.main;
            if (mainCamera != null)
            {
                // 将 Main Camera 的父节点设置为 Global
                mainCamera.transform.SetParent(global.transform);
            }

            // 3. 创建 Scenes 对象并将其添加到 Global 上
            GameObject scenes = new GameObject("Scenes");
            scenes.transform.SetParent(global.transform);
        }

        // Update is called once per frame
        void Update()
        {
            // 在这里可以处理其他每帧需要执行的操作
        }
    }
}